package cn.seaboot.excel.sax;

import org.dom4j.Element;

import java.io.IOException;
import java.util.List;

/**
 * parse tag: tbody
 * <p>
 * 一般情况下，这里会是一个代码模版，需要根据数据进行重复渲染。
 * <p>
 * 当前功能，原样复制文本内容。
 *
 * @author Mr.css
 * @version 2025-07-01 14:37
 */
public class TableBodyParser implements DocumentParser {

    private DocumentParser tableRowParser = new TableRowParser();

    public DocumentParser getTableRowParser() {
        return tableRowParser;
    }

    public void setTableRowParser(DocumentParser tableRowParser) {
        this.tableRowParser = tableRowParser;
    }

    @Override
    public void parse(Element tbody) throws IOException {
        List<Element> trs = tbody.elements();

        for (Element tr : trs) {
            tableRowParser.parse(tr);
        }
    }

    @Override
    public void setContext(ExcelContext context) {
        this.tableRowParser.setContext(context);
    }
}
